如何在python中使用字典循环浏览不同的文件名来创建多个数据库?

0 人关注

我有两个文件位置,我想通过迭代来搜索读取.tsv文件。第一个位置是。

"C:\Users\User\Documents\Research\STITCH\0NN-human-STITCH\stitch.tsv"

The second is:

"C:\Users\User\Documents\Research\STITCH\1AQ-human-STITCH\stitch.tsv"

两个tsv文件的名称相同,但位于不同的文件夹中。

我想创建一个循环和字典来搜索每个文件,而不是使用glob,就像这样。

输入pandas作为pd

file_name = 'C:/Users/User/Documents/Research/STITCH/{}-human-STITCH/stitch_interactions.tsv'
df_list = []
for i in range('ONN','1AQ'):
    df_list.append(pd.read_csv(file_name.format(i)))
    df = pd.concat(df_list)

在搜索完一个文件后,我想将该文件中的一个元素添加到一个Excel表格中。

我收到一个错误。

for i in range('ONN','1AQ'):

TypeError: 'str'对象不能被解释为一个整数

2 个评论
到目前为止,你所拥有的东西在我看来是好的。 你的实际问题是什么? 这是否会产生一个错误?
我更新了帖子,谢谢
python
pandas
jack22321
jack22321
发布于 2021-05-18
3 个回答
Sven Eberth
Sven Eberth
发布于 2021-05-18
0 人赞同

Range返回一个数字序列。这对字符串不起作用。
当只有这两个值时,你可以简单地把它们作为元组进行迭代。

file_name = 'C:/Users/User/Documents/Research/STITCH/{}-human-STITCH/stitch_interactions.tsv'
df_list = []
for i in ('ONN','1AQ'):
    df_list.append(pd.read_csv(file_name.format(i)))
    df = pd.concat(df_list)
    
Nk03
Nk03
发布于 2021-05-18
0 人赞同

TRY f-string with list comprehension :

concat_df = pd.concat([pd.read_csv(
    f'C:/Users/User/Documents/Research/STITCH/{i}-human-STITCH/stitch_interactions.tsv') for i in range('ONN', '1AQ')])
    
Boefst
Boefst
发布于 2021-05-18
0 人赞同

编辑:对于 "str "错误,在for-loop中删除范围。

如果你想把整个数据框架写入excel,你可以使用df.to_excel
pandas.DataFrame.to_excel