我正在合并两个带有以下输入的 CSV 文件。
文件1.csv
Id,attr1,attr2,attr3
1,True,7,"Purple"
2,False,19.8,"Cucumber"
3,False,-0.5,"A string with a comma, because it has one"
4,True,2,"Nope"
5,True,4.0,"Tuesday"
6,False,1,"Failure"
Run Code Online (Sandbox Code Playgroud)
文件2.csv
Id,attr4,attr5,attr6
2,"python",500000.12,False
5,"program",3,True
3,"Another string",-5,False
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时
import pandas as pd
df1 = pd.read_csv("file1.csv")
df2 = pd.read_csv("file2.csv")
merged = df1.merge(df2, on="Id", how="outer").fillna("")
merged.to_csv("merged.csv", index=False)
Run Code Online (Sandbox Code Playgroud)
我得到这样的输出
Id,attr1,attr2,attr3,attr4,attr5,attr6
1,True,7.0,Purple,,,
2,False,19.8,Cucumber,python,500000.12,False
3,False,-0.5,"A string with a comma, because it has one",Another string,-5.0,False
4,True,2.0,Nope,,,
5,True,4.0,Tuesday,program,3.0,True
6,False,1.0,Failure,,,
Run Code Online (Sandbox Code Playgroud)
请注意,attr2我的一些记录已从 a 转换int为 a float。
1,True,7.0,Purple,,,
Run Code Online (Sandbox Code Playgroud)
对比预期
1,True,7,Purple,,,
Run Code Online (Sandbox Code Playgroud)
对于这个示例数据集,这是一个小烦恼。但是,当我针对大量数据运行它时,我的Id列中也会出现这种行为。这将进一步打破我的工作流程链中的流程。
如何防止 Pandas …
这个问题与我在此处报告的Stack Overflow API的最近更改有关。在该问题中,我收到了似乎有效的回复,但实际上我无法使其生效。
这是我的代码
import requests
import json
url="https://api.stackexchange.com/2.2/sites/?filter=%21%2AL1%2AAY-85YllAr2%29&pagesize=1&page=1"
response = requests.get(url)
response.text
Run Code Online (Sandbox Code Playgroud)
这个输出
u'\ufeff{"items":[{"site_state":"normal","api_site_parameter":"stackoverflow","name":"Stack Overflow"}],"has_more":true,"quota_max":300,"quota_remaining":294}'
Run Code Online (Sandbox Code Playgroud)
领导u'\ufeff意味着,如果我这样做,response.json()我会得到ValueError: No JSON object could be decoded
我提供的建议是使用decode('utf-8-sig')。但是,我似乎也无法完成这项工作:
尝试1:
response.text.decode('utf-8-sig')
UnicodeEncodeError: 'ascii' codec can't encode character u'\ufeff' in position 0: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
尝试2:
json.loads(response.text).decode('utf-8-sig')
ValueError: No JSON object could be decoded
Run Code Online (Sandbox Code Playgroud)
什么是删除潜在客户的适当方法u'\ufeff?
我的数据库中有Markdown格式的文本.我想提取链接并计算我拥有的匹配链接的数量.我可以使用类似于此的查询获取包含链接的文本块列表:
SELECT post_text
FROM posts p
WHERE p.body like '%\[%](http%)%' ESCAPE '\'
Run Code Online (Sandbox Code Playgroud)
我如何进入下一步,只提取文本的链接部分(括号中的部分)?如果我能得到这个,我可以计算这个特定链接在我的数据集中的次数.
一些样本数据:
"Visit [Google](http://google.com)" -> Should return "http://google.com"
"Get an [iPhone](http://www.apple.com) (I like it better than Android)" -> Should return "http://www.apple.com"
"[Example](http://example.com)" -> Should return "http://example.com"
"This is a message" -> Nothing to return on this one, no link
"I like cookies (chocolate chip)" -> Nothing to return on this one, no link
"[Frank] says 'Hello'" -> Nothing to return on this one, no link
Run Code Online (Sandbox Code Playgroud)
我正在使用SQL Server 2012(如果这方面的版本之间存在差异).
我试图使用Dymo示例页面从基于Python/Qt的应用程序中的QWebview打印标签.该示例在主要浏览器中运行良好(IE,FF,Chrome已经过测试).但是,当在QWebview中加载示例页面时,我收到以下错误:
DYMO.Label.Framework.js line 1: Error: DYMO Label Framework Plugin is not installed
我不确定为什么它可以在另一个浏览器中正常工作,但不能在我的应用程序的Web视图中工作.将这些Dymo示例加载到webview中的正确方法是什么?
这是样板页面,在主流浏览器通过在QWebview失败(你需要一个戴莫打印机打印,否则它会用一个警告,告诉没有打印机被发现装载)工作原理:HTTP:// labelwriter. COM /软件/ DLS/SDK /样品/ JS/PreviewAndPrintLabel/PreviewAndPrintLabel.html
当我在webview中加载它时,我甚至没有得到警报(这是有道理的,因为上面的错误在第1行找到).
我编译了以下模式
pattern = re.compile(
r"""
(?P<date>.*?)
\s*
(?P<thread_id>\w+)
\s*PACKET\s*
(?P<identifier>\w+)
\s*
(?P<proto>\w+)
\s*
(?P<indicator>\w+)
\s*
(?P<ip>\d+\.\d+\.\d+\.\d+)
\s*
(?P<xid>\w+)
\s*
(?P<q_r>.*?)
\s*\[
(?P<flag_hex>[0-9]*)
\s*
(?P<flag_char_code>.*?)
\s*
(?P<status>\w+)
\]\s*
(?P<record>\w+)
\s*
\.(?P<domain>.*)\.
""", re.VERBOSE
)
Run Code Online (Sandbox Code Playgroud)
使用此字符串
2/1/2014 9:34:29 PM 05EC PACKET 00000000025E97A0 UDP Snd 10.10.10.10 ebbe R Q [8381 DR NXDOMAIN] A (1)9(1)a(3)c-0(11)19-330ff801(7)e0400b1(4)15e0(4)1ca7(4)2f4a(3)210(1)0(26)841f75qnhp97z6jknf946qwfm5(4)avts(6)domain(3)com(0)
它成功运作
In [4]: pattern.findall(re.sub('\(\d+\)', '.', x))
Out[4]:
[('2/1/2014 9:34:29 PM',
'05EC',
'00000000025E97A0',
'UDP',
'Snd',
'10.10.10.10',
'ebbe',
'R Q',
'8381',
'DR',
'NXDOMAIN',
'A',
'9.a.c-0.19-330ff801.e0400b1.15e0.1ca7.2f4a.210.0.841f75qnhp97z6jknf946qwfm5.avts.domain.com')]
Run Code Online (Sandbox Code Playgroud)
问题是在某些情况下需要很长时间,任何想法如何增强消耗时间的模式.
我是Python的新手,我想知道是否有一种方法可以使用基于数字模式的条件语句.例如,如果我有一个数值列表,例如:
583201
584068
485027
581047
Run Code Online (Sandbox Code Playgroud)
我正在根据这些数字向变量"x"输出一个值,如何将值1分配给以"58"开头的所有值?
我试过这个:
import re
def Classify(SIC12):
if re.search(7389*,SIC12):
return 1
else:
return 0
Run Code Online (Sandbox Code Playgroud)
但看起来搜索功能仅适用于字符串.有没有办法做这样的事情?
如何查明文件内是否存在具有相同模式的两个文件。如果所有文件名都有两组文件名( csv.new 和 csv),则继续下一步,否则退出并显示错误消息。
前缀“abc_package”将有两个文件,第一个文件扩展名为“csv.new”,第二个文件扩展名为“csv”。“list_of_files.txt”中可能有许多文件名。
例如:List_of_files.txt
abc_package.1406728501.csv.new
abc_package.1406728501.csv
abc_package.1406724901.csv.new
abc_package.1406724901.csv
Run Code Online (Sandbox Code Playgroud) 这是错误:
File"/www/sites/blog/flask/lib/python2.7/sitepackages/flask/app.py",
line 1701, in __call__ return self.wsgi_app(environ, start_response)
File"/www/sites/blog/flask/lib/python2.7/sitepackages/flask/app.py",
line 1689, in wsgi_app response =self.make_response(self.handle_exception(e))
File"/www/sites/blog/flask/lib/python2.7/sitepackages/flask/app.py",
line 1687, in wsgi_app response = self.full_dispatch_request()
File"/www/sites/blog/flask/lib/python2.7/sitepackages/flask/app.py",
line 1360, in full_dispatch_request rv = self.handle_user_exception(e)
File"/www/sites/blog/flask/lib/python2.7/sitepackages/flask/app.py",
line 1358, in full_dispatch_request rv = self.dispatch_request()
File"/www/sites/blog/flask/lib/python2.7/sitepackages/flask/app.py",
line 1344, in dispatch_request return
self.view_functions[rule.endpoint](**req.view_args)
File"/www/sites/blog/flask/lib/python2.7/sitepackages/flask/views.py",
line 83, in view return self.dispatch_request(*args, **kwargs)
File"/www/sites/blog/flask/lib/python2.7/sitepackages/flask/views.py",
line 150, in dispatch_request return meth(*args, **kwargs)
File"/www/sites/MyBlog/app/posts.py", line 38, in get return
render_template('posts/detail.html', **context)
File"/www/sites/blog/flask/lib/python2.7/sitepackages/flask/templating.py",
line 125, in render_template context, ctx.app)
File"/www/sites/blog/flask/lib/python2.7/sitepackages/flask/templating.py",
line …Run Code Online (Sandbox Code Playgroud) 我是编程新手,我编写了一个程序来解决方程中的不同变量.我有"if""elif"和"else"设置来解决等式的不同部分.出于某种原因,它只会解决第一部分("if"部分)我将复制并粘贴下面的程序.
import math
print 'A=Pert Calculator'
print ''
print 'Created by Triton Seibert'
print ''
Y = raw_input('What letter would you like to solve for?: ')
if Y == 'A' or 'a' or '1':
print 'Solving for A'
print ''
P = float(raw_input('Set value for P (initial investment):'))
e = 2.71828
print ''
r = float(raw_input('Set value for r (rate):'))
print ''
t = float(raw_input('Set value for t (time in years):'))
print ''
ert = e**(r*t)
answer = P*ert
print …Run Code Online (Sandbox Code Playgroud) 我有一个数据集,其中有一列如下所示:
NAME
ZZKIDS
ZZZKIDS
ZZZANTHONY
Run Code Online (Sandbox Code Playgroud)
要过滤行,我知道我可以使用这个:
df[~df.NAME.str.contains("ZZ")]
Run Code Online (Sandbox Code Playgroud)
有没有办法将另一个“ZZZ”与“ZZ”一起添加?