我有这个函数引用文件的路径:
some_obj.file_name(FILE_PATH)
Run Code Online (Sandbox Code Playgroud)
其中FILE_PATH是文件路径的字符串,即 H:/path/FILE_NAME.ext
我想在我的python脚本中创建一个文件FILE_NAME.ext,其中包含字符串的内容:
some_string = 'this is some content'
Run Code Online (Sandbox Code Playgroud)
怎么去这个?Python脚本将放在Linux框中.
我正在使用 ffmpeg 的 extract_mvs 文件来生成一些文本信息。我会在终端中使用这样的命令:
/extract_mvs input.mp4 > output.txt
Run Code Online (Sandbox Code Playgroud)
我想将此命令与Popenpython 中的或其他子进程一起使用,以便将数据直接传递到 Pandas 数据帧而不是实际生成文本文件,而不是 output.txt。
这个想法是多次自动化,所以,我试图避免生成许多 .txt 文件,从而避免open()一个一个地生成它们。
我想到了这样的事情:
import subprocess
cmd = ['./extract_mvs', 'input.mp4']
a = subprocess.Popen(cmd, stdout=subprocess.PIPE)
df = pd.read_csv(a.communicate()[0], sep=',')
Run Code Online (Sandbox Code Playgroud)
但后来我收到一个错误: OSError: Expected file path name or file-like object, got <class 'bytes'> type
它可以固定和扩展以便直接从子进程读取到熊猫吗?
我正在尝试将我的一些处理工作从R转移到Python.在R中,我使用read.table()来读取非常混乱的CSV文件,它会以正确的格式自动拆分记录.例如
391788,"HP Deskjet 3050 scanner always seems to break","<p>I'm running a Windows 7 64 blah blah blah........ake this work permanently?</p>
<p>Update: It might have something to do with my computer. It seems to work much better on another computer, windows 7 laptop. Not sure exactly what the deal is, but I'm still looking into it...</p>
","windows-7 printer hp"
Run Code Online (Sandbox Code Playgroud)
正确分为4列.1条记录可以分成很多行,并且到处都有逗号.在RI只做:
read.table(infile, header = FALSE, nrows=chunksize, sep=",", stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)
Python中有什么能够同样做到这一点吗?
谢谢!
这是我之前面试的时候也问过的问题。
我们的输入数据具有以下列:
语言、产品 ID、货架 ID、排名
例如,输入将具有以下格式
English, 742005, 4560, 10.2
English, 6000075389352, 4560, 49
French, 899883993, 4560, 32
French, 731317391, 7868, 81
Run Code Online (Sandbox Code Playgroud)
我们希望对语言、货架 ID 列进行“分组”操作,并根据“排名”属性上的 sort desc 对产品列表进行排序,这将导致输出具有以下格式:
语言、shelf_id、{product_id:rank1、product_id:rank2 ....}
对于每条记录。
对于给定的输入,输出如下:
English, 4560, {6000075389352:49, 742005:10.2}
French, 4560, 899883993:32
French, 7868, 731317391:81
Run Code Online (Sandbox Code Playgroud)
我通过使用键(通过组合语言和货架 id 创建)创建一个字典并插入每个键的产品 id 和排名来解决这个问题。
我的方法有效,但看起来有一种更简单的方法可以使用 python pandas 库来实现。我读过一些参考资料,但我仍然不确定是否有比我所做的更好的方法(通过使用语言、书架 ID 和具有该密钥的字典创建密钥来解决问题)
任何帮助将不胜感激。
StringIO 是我们在从文本中读取Pandas数据帧时使用的类似文件的字符串缓冲区对象,例如“如何从字符串创建 Pandas数据帧?”
我们应该将这两个导入中的哪一个用于 StringIO(在熊猫中)?这是一个长期存在的问题,四年来从未得到解决。
StringIO.StringIO(Python 2)/ io.StringIO(Python 3)
pandas.compat.StringIO
builtins, StringIO/cStringIO, BytesIO, cPickle, httplib、范围、过滤器、映射和 zip 的迭代器版本,以及 Python 3 兼容性的其他必要元素 - 请参阅0.13.0 最新消息用于从标准(来自 EmilH)导入的版本 2/3 分叉代码:
import sys
if sys.version_info[0] < 3:
from StringIO import StringIO
else:
from io import StringIO …Run Code Online (Sandbox Code Playgroud) 我想将“字节”数据转换为Pandas数据框。
数据如下所示(前几行):
(b'#Settlement Date,Settlement Period,CCGT,OIL,COAL,NUCLEAR,WIND,PS,NPSHYD,OCGT'
b',OTHER,INTFR,INTIRL,INTNED,INTEW,BIOMASS\n2017-01-01,1,7727,0,3815,7404,3'
b'923,0,944,0,2123,948,296,856,238,\n2017-01-01,2,8338,0,3815,7403,3658,16,'
b'909,0,2124,998,298,874,288,\n2017-01-01,3,7927,0,3801,7408,3925,0,864,0,2'
b'122,998,298,816,286,\n2017-01-01,4,6996,0,3803,7407,4393,0,863,0,2122,998'
Run Code Online (Sandbox Code Playgroud)
列标题显示在顶部。接下来的每一行都是一个时间戳和数字。
有没有简单的方法可以做到这一点?
非常感谢你
@Paula Livingstone:
这似乎可行:
s=str(bytes_data,'utf-8')
file = open("data.txt","w")
file.write(s)
df=pd.read_csv('data.txt')
Run Code Online (Sandbox Code Playgroud)
也许可以在不使用文件的情况下完成此操作。
我知道可以使用 to_string 函数将 DataFrame 转换为字符串:
import pandas as pd
df = pd.DataFrame({'A' : ['one', 'one', 'two', 'three'] * 3,
'B' : ['Aa', 'Bb', 'Cc'] * 4})
dfstr = df.to_string()
print(dfstr)
Run Code Online (Sandbox Code Playgroud)
输出:
A B
0 one Aa
1 one Bb
2 two Cc
3 three Aa
4 one Bb
5 one Cc
6 two Aa
7 three Bb
8 one Cc
9 one Aa
10 two Bb
11 three Cc
Run Code Online (Sandbox Code Playgroud)
如何将其转换dfstr回 DataFrame 对象?
编辑:
我特别询问如何将df.to_string()函数创建的字符串转换回数据帧对象,而不是关于如何将文本数据(字符串)转换为数据帧的一般方法,如如何从字符串创建 Pandas …
我使用urlopen获取如下数据字符串.我想将字符串转换为数据帧并保留几个列,如state,AQI等.我不知道该怎么做,想向你寻求建议.谢谢!
response=urlopen(URL).read().decode('utf-8')
print(response)
"DateIssue","DateForecast","ReportingArea","StateCode","Latitude","Longitude","ParameterName","AQI","CategoryNumber","CategoryName","ActionDay","Discussion"
"2017-05-01 ","2017-05-01 ","Metropolitan Washington","DC","38.919","-77.013","O3","42","1","Good","false",""
"2017-05-01 ","2017-05-01 ","Metropolitan Washington","DC","38.919","-77.013","PM2.5","46","1","Good","false",""
"2017-05-01 ","2017-05-02 ","Metropolitan Washington","DC","38.919","-77.013","O3","44","1","Good","false",""
"2017-05-01 ","2017-05-02 ","Metropolitan Washington","DC","38.919","-77.013","PM2.5","25","1","Good","false",""
"2017-05-01 ","2017-05-03 ","Metropolitan Washington","DC","38.919","-77.013","O3","44","1","Good","false",""
"2017-05-01 ","2017-05-03 ","Metropolitan Washington","DC","38.919","-77.013","PM2.5","25","1","Good","false",""
"2017-05-01 ","2017-05-04 ","Metropolitan Washington","DC","38.919","-77.013","O3","42","1","Good","false",""
"2017-05-01 ","2017-05-04 ","Metropolitan Washington","DC","38.919","-77.013","PM2.5","29","1","Good","false",""
Run Code Online (Sandbox Code Playgroud) 我正在尝试从已上传的csv文件读取数据。首先,我要获取每一行,然后尝试通过用逗号分割每行来读取数据,这对于理想情况是很好的,但是如果包含“,”(如地址字段),它将以错误的格式解析数据。
我想有一个更可靠的解决方案 val = v.split(',')
我的代码是
upload_file = request.FILES['upload_file']
data = [row for row in csv.reader(upload_file.read().splitlines())]
for v in data:
# v is every row
val = v.split(',') #spliting value of every row to get each record of every row
Run Code Online (Sandbox Code Playgroud) 嗨,我使用 simple_salesforce 模块连接到 salesforce 并将其定位到我想要提取的报告。此时,我拥有 csv 逗号分隔格式的所需数据,当我编写d.content它时,
它以逗号分隔显示数据,但我想在 Pandas 数据框中拥有相同的数据。
d = session.get("https://nax.salesforce.com/xxxxxxxxxx?export=1&enc=UTF-8&xf=csv".format('xxxxxxxxxx'), headers=sf.headers, cookies={'sid': sf.session_id})
Run Code Online (Sandbox Code Playgroud)
然后
in[22]: d.content
out[22]: "whole comma seperated data"
Run Code Online (Sandbox Code Playgroud)
我希望上述数据在熊猫中或保存在 csv 中
当我写:
pd.DataFrame(d)
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误
PandasError: DataFrame constructor not properly called!
Run Code Online (Sandbox Code Playgroud)
请告诉我如何进一步将以下数据保存在 csv 中或插入到 Pandas 中以进一步保存它。
python ×8
pandas ×6
csv ×2
dataframe ×2
python-3.x ×2
dictionary ×1
django ×1
ffmpeg ×1
import ×1
popen ×1
python-2to3 ×1
r ×1
read.table ×1
salesforce ×1
string ×1
stringio ×1
terminal ×1