Hi Yohei, There might be a better solution from Mauro, but I would suggest using the structure2feffinp function in larch. Below are very simple code to generate feffinput from a file. The first argument also accepts a string when you specify
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
 
ZjQcmQRYFpfptBannerEnd
Hi Yohei,

There might be a better solution from Mauro, but I would suggest using 
the structure2feffinp function in larch.
Below are very simple code to generate feffinput from a file. The first 
argument also accepts a string when you specify fmt="xyz" as a argument.

from larch.xrd.structure2feff import structure2feffinp

file_path = "example.xyz"
absorber = "Co"
absorber_site = 1

feffinp = structure2feffinp(file_path, absorber, 
absorber_site=absorber_site)

print(feffinp)

Please refer to the docstring.
https://urldefense.us/v3/__https://github.com/xraypy/xraylarch/blob/537aeae71f8e320713986242deae9e3598c4de21/larch/xrd/structure2feff.py*L102__;Iw!!G_uCfscf7eWS!cPqmtUCwdBhZTzYKdVrpvhy-DKWD2uohBXly3NkacSGSef37p5imPAjHKQRvWr_wqcjaPjMx_C77spvDvVIxAAnY_HWZfuEGUJKs8Rrr5HR2iw8$

Regards,
Ryuichi

-- 
Ryuichi Shimogawa, Ph.D.
Visiting Scientist
Department of Materials Science and Chemical Engineering
Stony Brook University
Stony Brook, NY 11794
Email:  ryuichi.shimogawa@stonybrook.edu
Tel: +1 (631) 690 5235

Visiting Scientist
Structure and Dynamics of Applied Nanomaterials Group
Chemistry Division
Brookhaven National Laboratory
Email: rshimogaw@bnl.gov